from django.shortcuts import render, redirect
from django.urls import reverse
from django.views import View

from apps.patients.models import Patient


def patients_list(request):
    """
    列表视图(病员列表展示功能)
    """
    # 1.数据库中查询所有的项目数据
    objs = Patient.objects.all()
    # 使用django中反向解析获取添加项目的视图地址，并返回给模板
    create_url = reverse('patients:list')
    return render(request, 'pmcs/all-patients.html', context={'objs': objs, 'create_url': create_url})

# class WardsCreateView(View):
#     """病区添加功能"""
#
#     def get(self, request):
#         """
#         项目添加页面
#         实现步骤：
#         1.创建添加项目的视图类
#         2.创建新增项目的模板
#         3.在模板中。引入表单控件
#         4.配置路由
#         5.在list视图中，使用反向解析获取添加项目的视图方法的地址，并返回给list模板并配置跳转的路径，实现动态路由
#             反向解析方法：
#                 1.django:reverse('projects:create')
#                 2.模板中:{{ create_url }}
#         6.deatil模板中修改 模板字段，并设置表单提交方法为post
#         """
#         return render(request, 'pmcs/new-ward.html')
#
#     def post(self, request):
#         """
#         项目添加
#         实现步骤：
#         1.编辑页面点击提交进入该方法
#         2.接收表单参数
#         3.获取对应数据库的数据，进行修改并保存
#         4.返回到列表页面
#         """
#         # 1.接受表单数据
#         # 2.创建模型对象并保存到数据库
#         obj = Ward()
#         obj.id = request.POST.get('id')
#         obj.name = request.POST.get('name')
#         obj.desc = request.POST.get('desc')
#         obj.signature = request.POST.get('signature')
#         obj.save()
#         # 3.跳转到项目列表页面
#         return redirect(reverse('wards:ward_list'))
